package CAPA_INTERFAZ_DE_USUARIO;

import CAPA_LOGICA_DE_NEGOCIO.LN_LOGICA_NEGOCIO;
import RECURSOS.ERROR;
import RECURSOS.FACTURA;
import RECURSOS.FONDO_FORM;
import RECURSOS.LOG;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JOptionPane;
import net.sf.jasperreports.view.JasperViewer;

public class IU_MENU_PRINCIPAL extends javax.swing.JFrame {
private FONDO_FORM F;
private LN_LOGICA_NEGOCIO obj_ln;

@Override    
    public Image getIconImage() {
        Image retValue = Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource("RECURSOS/SOVI.PNG"));
        return retValue;
    }

    public IU_MENU_PRINCIPAL() {
           initComponents();
           Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); 
           this.setMinimumSize(d);                                 
           this.lbl_imagenfondo.setBounds(((int) d.getWidth()/2)-(lbl_imagenfondo.getWidth()/2)-20,(int) d.getHeight()/4,this.lbl_imagenfondo.getWidth(),this.lbl_imagenfondo.getHeight());            
           this.add(this.lbl_imagenfondo);                                    
           F=new FONDO_FORM(this.getWidth(),this.getHeight(),"fondo.png");
           this.add(F);    
           obj_ln = new LN_LOGICA_NEGOCIO();
    }
 
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jMenu1 = new javax.swing.JMenu();
        jMenu2 = new javax.swing.JMenu();
        jCheckBoxMenuItem1 = new javax.swing.JCheckBoxMenuItem();
        jMenuBar2 = new javax.swing.JMenuBar();
        jMenu3 = new javax.swing.JMenu();
        jMenu4 = new javax.swing.JMenu();
        jMenuItem9 = new javax.swing.JMenuItem();
        lbl_imagenfondo = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();
        mArchivo = new javax.swing.JMenu();
        jMenuItem7 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        mProducto = new javax.swing.JMenu();
        mIngresar = new javax.swing.JMenu();
        mIngresoProd = new javax.swing.JMenuItem();
        mTipoprod = new javax.swing.JMenuItem();
        mModificarprod = new javax.swing.JMenuItem();
        mCliente = new javax.swing.JMenu();
        jMenuItem3 = new javax.swing.JMenuItem();
        mPersonal = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        mReporte = new javax.swing.JMenu();
        mReportProductosE = new javax.swing.JMenuItem();
        jMenuItem6 = new javax.swing.JMenuItem();
        jMenuItem4 = new javax.swing.JMenuItem();
        mAyuda2 = new javax.swing.JMenu();
        jMenuItem5 = new javax.swing.JMenuItem();
        jMenu5 = new javax.swing.JMenu();
        NumFAc = new javax.swing.JMenuItem();

        jMenu1.setText("jMenu1");

        jMenu2.setText("jMenu2");

        jCheckBoxMenuItem1.setSelected(true);
        jCheckBoxMenuItem1.setText("jCheckBoxMenuItem1");

        jMenu3.setText("File");
        jMenuBar2.add(jMenu3);

        jMenu4.setText("Edit");
        jMenuBar2.add(jMenu4);

        jMenuItem9.setText("jMenuItem9");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("SOVI");
        setIconImage(getIconImage());

        lbl_imagenfondo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/RECURSOS/fondoimagen.gif"))); // NOI18N

        mArchivo.setText("Archivo");

        jMenuItem7.setText("Factura");
        jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem7ActionPerformed(evt);
            }
        });
        mArchivo.add(jMenuItem7);

        jMenuItem2.setText("Salir");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        mArchivo.add(jMenuItem2);

        jMenuBar1.add(mArchivo);

        mProducto.setText("Producto");

        mIngresar.setText("Ingresar");

        mIngresoProd.setText("Producto");
        mIngresoProd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mIngresoProdActionPerformed(evt);
            }
        });
        mIngresar.add(mIngresoProd);

        mTipoprod.setText("Tipo Producto");
        mTipoprod.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mTipoprodActionPerformed(evt);
            }
        });
        mIngresar.add(mTipoprod);

        mProducto.add(mIngresar);

        mModificarprod.setText("Modificar");
        mModificarprod.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mModificarprodActionPerformed(evt);
            }
        });
        mProducto.add(mModificarprod);

        jMenuBar1.add(mProducto);

        mCliente.setText("Cliente");

        jMenuItem3.setText("Ingresar");
        jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem3ActionPerformed(evt);
            }
        });
        mCliente.add(jMenuItem3);

        jMenuBar1.add(mCliente);

        mPersonal.setText("Usuario");

        jMenuItem1.setText("Ingresar");
        mPersonal.add(jMenuItem1);

        jMenuBar1.add(mPersonal);

        mReporte.setText("Reportes");

        mReportProductosE.setText("Productos en Stock");
        mReportProductosE.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mReportProductosEActionPerformed(evt);
            }
        });
        mReporte.add(mReportProductosE);

        jMenuItem6.setText("Productos por Marca y Tipo");
        mReporte.add(jMenuItem6);

        jMenuItem4.setText("Facturas por Fechas");
        mReporte.add(jMenuItem4);

        jMenuBar1.add(mReporte);

        mAyuda2.setText("Ayuda");

        jMenuItem5.setText("Acerca de");
        mAyuda2.add(jMenuItem5);

        jMenuBar1.add(mAyuda2);

        jMenu5.setText("Administracion");

        NumFAc.setText("Número de Facturas");
        NumFAc.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                NumFAcActionPerformed(evt);
            }
        });
        jMenu5.add(NumFAc);

        jMenuBar1.add(jMenu5);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(100, 100, 100)
                .addComponent(lbl_imagenfondo)
                .addContainerGap(110, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(20, 20, 20)
                .addComponent(lbl_imagenfondo)
                .addGap(105, 105, 105))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void mReportProductosEActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mReportProductosEActionPerformed
        ERROR er = new ERROR();
        JasperViewer jviewer=new JasperViewer(obj_ln.ejecutar_reporte("ReporteProductos.jasper",er),false);
        if(er.getTipo_error()==null)
        {           
            jviewer.setTitle("SOVI");         
            jviewer.setVisible(true);
        }
        else
        {
            LOG l=new LOG();                                 
            String log="Tipo: "+er.getTipo_error()+". Mensaje: "+er.getDescripcion_error();            
            l.escribir(log);                                                                                     
            JOptionPane.showMessageDialog(null,obj_ln.error_usuario(er),"ERROR",JOptionPane.ERROR_MESSAGE);                        
        }
    }//GEN-LAST:event_mReportProductosEActionPerformed

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        // TODO add your handling code here:
        System.exit(0);
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    private void mModificarprodActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mModificarprodActionPerformed

        IU_BUS_MOD_PROD obj_modbusprod = new IU_BUS_MOD_PROD();
        obj_modbusprod.show();
    }//GEN-LAST:event_mModificarprodActionPerformed

    private void mTipoprodActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mTipoprodActionPerformed

        IU_INGRESO_TIPO_PRODUCTO obj_ingresotipprod = new IU_INGRESO_TIPO_PRODUCTO();
        obj_ingresotipprod.show();
    }//GEN-LAST:event_mTipoprodActionPerformed

    private void mIngresoProdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mIngresoProdActionPerformed

        IU_INGRESO_PRODUCTO obj_ingresoprod = new IU_INGRESO_PRODUCTO();
        obj_ingresoprod.show();

    }//GEN-LAST:event_mIngresoProdActionPerformed

    private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
        IU_FACTURA obj_factura = new IU_FACTURA();
        obj_factura.show();
    }//GEN-LAST:event_jMenuItem7ActionPerformed

    private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
        // TODO add your handling code here:
        IU_INGRESO_CLIENTES obj_ingcli=new IU_INGRESO_CLIENTES();
        obj_ingcli.show();
    }//GEN-LAST:event_jMenuItem3ActionPerformed

    private void NumFAcActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NumFAcActionPerformed
        
        IU_NUMERO_FAC nFac = new IU_NUMERO_FAC();
        nFac.show();
    }//GEN-LAST:event_NumFAcActionPerformed
    
    public static void main(String args[]) {

        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(IU_MENU_PRINCIPAL.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(IU_MENU_PRINCIPAL.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(IU_MENU_PRINCIPAL.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(IU_MENU_PRINCIPAL.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new IU_MENU_PRINCIPAL().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem NumFAc;
    private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenu jMenu4;
    private javax.swing.JMenu jMenu5;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuBar jMenuBar2;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenuItem jMenuItem4;
    private javax.swing.JMenuItem jMenuItem5;
    private javax.swing.JMenuItem jMenuItem6;
    private javax.swing.JMenuItem jMenuItem7;
    private javax.swing.JMenuItem jMenuItem9;
    private javax.swing.JLabel lbl_imagenfondo;
    private javax.swing.JMenu mArchivo;
    private javax.swing.JMenu mAyuda2;
    private javax.swing.JMenu mCliente;
    private javax.swing.JMenu mIngresar;
    private javax.swing.JMenuItem mIngresoProd;
    private javax.swing.JMenuItem mModificarprod;
    private javax.swing.JMenu mPersonal;
    private javax.swing.JMenu mProducto;
    private javax.swing.JMenuItem mReportProductosE;
    private javax.swing.JMenu mReporte;
    private javax.swing.JMenuItem mTipoprod;
    // End of variables declaration//GEN-END:variables
}
